home *** CD-ROM | disk | FTP | other *** search
/ System Booster / System Booster.iso / Texteditors / Origami / Sources / src / origami / os_scrbuff.c < prev    next >
Encoding:
C/C++ Source or Header  |  1996-09-27  |  802 b   |  34 lines

  1. extern boolean aktinvers;
  2. extern int TestCoor (int, int, boolean);
  3. extern struct line_store myline;
  4.  
  5. /*{{{}}}*/
  6. /*{{{  fl_overwrite*/
  7. private void my_fl_overwrite (int y, int x0, int to_txt, int end_space,
  8.   const c_p_code *cnew)
  9.  {
  10.   int xm= (end_space<=to_txt ? end_space : to_txt+1 );
  11.  
  12.   while (x0<xm)
  13.    {
  14.     TestCoor (x0-1,y-1,True);
  15.     aktinvers = (B_get_pen(cnew[x0])==NORM ? False : True);
  16.     /* get a sequence of characters with no invers-switch */
  17.     while ((x0<xm) &&
  18.       (B_get_pen(cnew[x0])==(aktinvers==False ? NORM : HIGHLIGHT) ))
  19.      {
  20.       myline.str[myline.len++] = B_get_char (cnew[x0]);
  21.       x0++;
  22.      }
  23.    }
  24.   if (aktinvers!=False)
  25.    {
  26.     FlushOneLine ();
  27.     aktinvers = False;
  28.    }
  29.   if (end_space <= to_txt)
  30.     moveclreol (y,end_space);
  31.   scr_pos.h=0;
  32.  }
  33. /*}}}  */
  34.